from django.db import models

"""
create table student(
            name varchar(15),
            key name(name),
            age smallint,
            sex tinyint default 1,
            class varchar(50) default '',
            key class(class),
            description text,
        )
"""
class BaseModl(models.Model):
    #auto_now_add 设置新建数据时，把当前的时间戳作为默认的值存储到当前字段中
    created_time = models.DateTimeField(auto_now_add=True, null=True, verbose_name="创建时间")
    #auto_now 设置跟新数据时，把当前时间撮作为默认值存储在当前字段中
    updated_time = models.DateTimeField(auto_now=True, null=True, verbose_name="跟新时间")

    #设置该类为抽查类不执行
    class Meta:
        abstract = True

# Create your models here.
class Student(BaseModl):
    STATUS = (
        #（数据库值,"程序显示出来的文本"） #模型对象.get_字段名_display() 获取提示文本
        (0,'正常'),
        (1,'未入学'),
        (2,'已毕业'),
    )
    '''django模型中不需要自己单独声明主机，模型会自动创建主键ID,将来可以通过模型对象，id或者模型对象。pk就可以直接调用主键了'''
    name = models.CharField(max_length=15, db_index=True, verbose_name='姓名')
    age = models.SmallIntegerField(default=0, verbose_name="年龄")
    sex = models.BooleanField(default=True, verbose_name="性别")
    classmate = models.CharField(max_length=50, db_column='class', default='', db_index=True, verbose_name='班级编号')
    description = models.TextField(null=True, verbose_name="个性签名")
    status = models.IntegerField(choices=STATUS ,default=1, null=True,verbose_name="在校状态")

    class Meta:
        db_table = 'student'
        verbose_name = '学生信息'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.name
